package com.bulk.generic;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 散装java
 * @date 2022-11-28
 */
public class GenericTest2 {
    public static void main(String[] args) {
        List<? extends Number> list = new ArrayList<>();
        // 这里因为 ？ 可能是Number的任何一个子类，所以，你在往里添加数据的时候，它并不能确定
        // 因此会抛出异常 ，提示：capture of ? extends Number
//        list.add(new Double(1));
        final Number number = list.get(0);
        List<? super Number> list2 = new ArrayList<>();
        // 这里因为 ？ 是 Number 的 父类 ，所以不管你往里面添加什么的数字，一定属于 Number 的子类
        list2.add(1);
        // 而在获取这个数据的时候， 你并不能确定你拿到的数据是什么。因为 ？ 是 Number 的父类
//        final Number object = list2.get(0);
    }
}

